package controller

import (
	"fmt"
	"ginessential/common"
	"ginessential/model"
	"net/http"

	"github.com/gin-gonic/gin"
)

//找到所有类型信息，并回传到网页上 （页面用）
func T_Set_All_Types(c *gin.Context) {
	DB := common.GetDB()
	var all_types []model.Types //结构体数组
	//显示所有的类型信息
	result := DB.Table("types").Find(&all_types)
	if result != nil {
		fmt.Println("!!")
	}
	fmt.Println(all_types)
	c.JSON(http.StatusOK, gin.H{
		"code":      "200",
		"suppliers": all_types,
		"msg":       "成功",
	})
}

//查找某一指定类型信息 （网页用）
func T_Get_Type(c *gin.Context) {
	DB := common.GetDB()
	var test model.Types
	var test2 []model.Types
	//新建一个map类型的变量request，保存前端传来的数据
	request := make(map[string]interface{})
	//获取参数
	fmt.Println(request)
	//将前端传过来的数据绑定到该request上
	c.ShouldBind(&request)
	fmt.Println(request)
	//取得相应的map值 放到结构体上
	test.Type_id = request["id"].(string)
	//查询类型是否存在（链接数据库查）
	DB.Where("type_id = ?", test.Type_id).First(&test2)
	if test2[0].Type_id != "" {
		fmt.Println("成功查找到该类型")
		c.JSON(200, gin.H{
			"code":  "200",
			"types": test2, //传一个对象
			"msg":   "成功",
		})
	} else {
		c.JSON(404, gin.H{
			"code":  "404",
			"types": test2, //传一个空对象
			"msg":   "no",
		})
		fmt.Println("未找到该类型")
	}

}
